/**
 * 
 */
package dao;

import java.sql.Connection;
import java.util.List;


public interface SqlDao<T> extends DAO<T>
{
	/**
	 * @param con
	 * @param data
	 * @return
	 */
	int delete(Connection con, T data);
	/**
	 * @param con
	 * @return
	 */
	void deleteAll(Connection con);
	/**
	 * @param con
	 * @param id
	 * @return
	 */
	T findById(Connection con, Long id);
	/**
	 * @param con
	 * @param part
	 * @return
	 */
	List<T> findByNamePart(Connection con, String part);
	/**
	 * @param con
	 * @param name
	 * @return
	 */
	T findByName(Connection con, String name);
	/**
	 * @param con
	 * @return
	 */
	List<T> findAll(Connection con);
	/**
	 * @param con
	 * @param data
	 * @return
	 */
	T save(Connection con, T data);
}
